package com.fortune.service;

import java.util.List;

import com.fortune.dto.in.client.ClientAddDto;
import com.fortune.dto.in.client.ClientEditDto;
import com.fortune.vo.cPriceMgt.CClientList;
import org.apache.ibatis.annotations.Param;

import com.fortune.vo.client.Client;
import com.fortune.vo.client.ClientDetail;




public interface ClientService {
    /**
     * 有效客户
     * @return
     */
    List<Client> findEffectiveClient(@Param("mid") String mid,@Param("did") String did);

    /**
     * 无效客户
     * @return
     */
    List<Client> findInvalidClient(@Param("mid") String mid,@Param("did") String did);

    /**
     * 全部客户
     * @return
     */
    List<Client> findAllClient(@Param("mid") String mid,@Param("did") String did);

    /**
     * 根据客户ID查询客户详情
     * @param clientId
     * @return
     */
    ClientDetail findClientDetailByClientId(@Param("clientId") String clientId,
                                            @Param("mid") String mid,
                                            @Param("did") String did);

    /**
     * 添加客户
     * @param clientAddDto
     * @return
     */
    int addClient(ClientAddDto clientAddDto,
                  @Param("id") String id,
                  @Param("mid") String mid,
                  @Param("did") String did,
                  @Param("userId") String userId);

    /**
     * 更改客户信息
     * @param clientEditDto
     * @return
     */
    int editClient(ClientEditDto clientEditDto,
                   @Param("mid") String mid,
                   @Param("didi") String did);

    /**
     * 查询有效的总条数
     * @param mid
     * @param did
     * @return
     */
    int findEffectiveAcount(@Param("mid") String mid, @Param("did") String did);

    /**
     * 查询无效客户的总条数
     * @return
     */
    int findInvalidAcount(@Param("mid") String mid, @Param("did") String did);

    /**
     * 全部客户
     * @return
     */
    int findAllClientAcount(@Param("mid") String mid, @Param("did") String did);

    /**
     * 根据厂商id和经销商id查询客户信息
     */
    List<CClientList> queryClientList(String companyId,String dealerId);
}

